# Docker image for springboot application
# VERSION 0.0.1
# Author: bolingcavalry

### 基础镜像，使用alpine操作系统，openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9

#作者
MAINTAINER BolingCavalry <zq2599@gmail.com>

#先把时区复制到当前目录
#时区设置
ENV TZ=Asia/Shanghai
#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY ./Shanghai /usr/share/zoneinfo/Asia/Shanghai
RUN echo $TZ > /etc/timezone

#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#声明一个挂载点，容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp

# 指定工作目录
WORKDIR /opt/sz-server
# 执行脚本
COPY run.sh run.sh
# Add Tini
ENV TINI_VERSION v0.19.0

# 可以先下载下来
# 我使用这种方式不可用
# ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /sbin/tini
# RUN chmod +x /sbin/tini
# Alpine直接安装
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
RUN apk add --no-cache tini

#应用构建成功后的jar文件被复制到镜像内，名字也改成了sz-helloworld.jar
ADD target/sz-helloworld.jar sz-helloworld.jar

#jvm参数
ENV JAVA_OPTS="-Xms256m -Xmx512m"

#启动容器时的进程
#ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","sz-helloworld.jar"]
ENTRYPOINT [ "/sbin/tini", "--", "run.sh"]
#暴露8888端口
EXPOSE 8888
#CMD ["--spring.profiles.active=test"]
